export interface ByteVO extends BaseEntity {
  accountId: string | number;
  advertiserId: string | number;
  appId: string;
  appName: string;
  email: string;
  displayName: string;
  auditStatus: string;
  instanceId?: string | number;
  microAppId?: string | null;
  reason?: string | null;
  remark?: any;
  tagInfo?: string | null;
  tagInfoDesc?: string | null;
  materialAuthStatus: number;
  validStatus: number;
}

export interface ByteQuery extends PageQuery {
  // orderByColumn: string;
  // isAsc: string;
  appName: string;
}

export interface ByteForm {
  status: string;
}
export interface ShareRangeForm {
  status: string;
}
export interface ShareRangeQuery extends PageQuery {
  // orderByColumn: string;
  // isAsc: string;
  accountId: number;
  instanceId: number;
  assetType: 'APPLETS' | 'BYTED_APPLETS'; //APPLETS 微信小程序 BYTED_APPLETS 字节小程序
}
export interface ShareRangeVO extends BaseEntity {
  accountInfo: AaccountInfoVO;
  allAccountsByBp: string;
  allAccountsByCompany: allAccountsByCompanyVO;
  shareMode: string;
}
type AaccountInfoVO = {
  accountId: number;
  accountType: string;
};
type allAccountsByCompanyVO = {
  companyId: number;
  accountType: string;
};

export interface TypeMicroVO {
  accountId: number;
  advertiserId: number;
  tagInfo: string;
  appId: string;
  remark: string;
  appPage: {
    startPage: string;
    startParam: string;
    linkRemark: string;
  };
}

/**
 * OceMicroAppBoAddGroup
 */
export interface ByteAdd {
  /**
   * 管家账号id
   */
  accountId: number | null;
  /**
   * 第三方广告主id
   */
  advertiserId: number | null;
  /**
   * 字节小程序app id
   */
  appId: null | string;
  /**
   * 小程序名称
   */
  appName?: null | string;
  /**
   * 审核状态：AUDITING-审核中；AUDIT_ACCEPTED-审核通过；AUDIT_REJECTED-审核拒绝；
   */
  auditStatus?: null | string;
  /**
   * 小程序资产id
   */
  instanceId?: number | null;
  /**
   * 字节小程序记录id
   */
  microAppId?: number | null;
  /**
   * 审核拒绝原因
   */
  reason?: null | string;
  /**
   * 小程序备注
   */
  remark: null | string;
  /**
   * 细分类型或道具类目分类ID
   */
  tagInfo: null | string;
  /**
   * 分类名称：小程序-短剧-都市-其他
   */
  tagInfoDesc?: null | string;
  [property: string]: any;
}

/**
 * OceMicroAppBoEditGroup
 */
export interface ByteUpdate {
  /**
   * 管家账号id
   */
  accountId: number | null;
  /**
   * 第三方广告主id
   */
  advertiserId: number | null;
  /**
   * 字节小程序app id
   */
  appId: null | string;
  /**
   * 小程序名称
   */
  appName?: null | string;
  /**
   * 审核状态：AUDITING-审核中；AUDIT_ACCEPTED-审核通过；AUDIT_REJECTED-审核拒绝；
   */
  auditStatus?: null | string;
  /**
   * 小程序资产id
   */
  instanceId?: number | null;
  /**
   * 字节小程序记录id
   */
  microAppId: number | null;
  /**
   * 审核拒绝原因
   */
  reason?: null | string;
  /**
   * 小程序备注
   */
  remark: null | string;
  /**
   * 细分类型或道具类目分类ID
   */
  tagInfo: null | string;
  /**
   * 分类名称：小程序-短剧-都市-其他
   */
  tagInfoDesc?: null | string;
  [property: string]: any;
}

export interface queryToolsAssetLinkListVO {
  /**
   * 账号id
   */
  accountId: number | string;
  /**
   * 广告主ID
   */
  advertiserId: number | string;
  /**
   * 创建结束时间  yyyy-MM-dd
   */
  endTime?: string;
  /**
   * 字节小程序资产ID，通过【工具】-【获取字节小程序/小游戏】获取
   */
  instanceId?: number | string;
  /**
   * 页数
   */
  pageNum?: number;
  /**
   * 数据条数
   */
  pageSize?: number;
  /**
   * 创建开始时间  yyyy-MM-dd
   */
  startTime?: string;
  [property: string]: any;
}

/**
 * UpdateToolsMicroAppReq
 */
export interface TypeUpdateMicroVO {
  /**
   * 管家账号id
   */
  accountId?: number | null | string;
  /**
   * 广告主账户id
   */
  advertiserId: number | null | string;
  /**
   * 字节小程序app id
   */
  appId: null | string;
  /**
   * 小程序链接，审核通过前只能创建一条，存在两种录入方式：
   * 通过参数 app_page.link 录入完整的链接信息。
   * 通过参数 app_page.start_page 与 app_page.start_param 利用平台能力生成调起链接，进而录入链接信息。（此时app_page.link
   * 可传空）
   */
  appPage: ToolsMicroAppUpdateV30RequestAppPage[] | null;
  /**
   * 小程序资产id
   */
  instanceId: number | null | string;
  /**
   * 小程序备注
   */
  remark?: null | string;
  /**
   * 细分类型或道具类目
   * 填写类型的末集分类ID
   */
  tagInfo: null | string;
}

/**
 * org.dromara.oce.domain.req.ToolsMicroAppUpdateV30RequestAppPage
 *
 * ToolsMicroAppUpdateV30RequestAppPage
 */
export interface ToolsMicroAppUpdateV30RequestAppPage {
  /**
   * 小程序链接，以 sslocal://microapp 开头 。生效优先级大于 启动页面 和 启动参数  ，详细内容见接口说明
   */
  link?: null | string;

  id?: number | string;
  /**
   * 操作类型，可选值:
   *
   * NEW：新建
   * MODIFY：修改
   * DELETE：删除
   */
  operateType: null | string;
  /**
   * 链接备注
   */
  remark: null | string;
  /**
   * 启动页面，形如：page/home/xxx。不得以反斜线开头，不得以反斜线结尾，请避免参数中出现特殊字符
   */
  startPage?: null | string;
  /**
   * 启动参数，形如：name=zhangsan&age=25。不得以问号、连接符等特殊字符开头，请确保各参数间仅使用一个连接符
   */
  startParam?: null | string;
}

export interface getAppinfoVO {
  /**
   * 账号id
   */
  accountId: number | string;
  /**
   * 广告主ID
   */
  advertiserId: number | string;
  /**
   * 审核状态，可选值:
   * AUDIT_ACCEPTED 审核通过
   * AUDITING 审核中
   * AUDIT_REJECTED 审核不通过
   * ALL 全部（默认值）
   * AUDIT_ACCEPTED :AUDIT_ACCEPTED
   * AUDITING :AUDITING
   * AUDIT_REJECTED :AUDIT_REJECTED
   * ALL :ALL
   */
  auditStatus?: string;
  /**
   * 创建结束时间  yyyy-MM-dd
   */
  endTime?: string;
  /**
   * 页数
   */
  pageNum?: number;
  /**
   * 数据条数
   */
  pageSize?: number;
  /**
   * 小程序名称或备注的模糊匹配
   */
  searchKey?: string;
  /**
   * 搜索类型，可选值:
   * CREATE_ONLY只查询该账户创建的应用（默认值）
   * SHARE_ONLY只查询被共享的应用
   * CREATE_ONLY :CREATE_ONLY
   * SHARE_ONLY :SHARE_ONLY
   */
  searchType?: string;
  /**
   * 创建开始时间  yyyy-MM-dd
   */
  startTime?: string;
}
